import { get, post } from '@/utils/http'

enum API {
  /** 创建产品 */
  CREATEPRODUCT_API = '/product/createProduct',
  /** 删除产品 */
  DELETEPROCDUCT_API = '/product/deleteProductList',
  /** 编辑产品信息 */
  EDITPRODUCT_API = '/product/editProduct',
  /** 获取产品列表 */
  GETPRODUCTLIST_API = '/product/getProductList',
  /** 获取产品出库列表 */
  GETAUDITPRODUCTLIST_API = '/product/getAuditProductList',
  /** 产品申请出库 */
  APPLYOUTPRODUCT_API = '/product/applyOutProduct',
  /** 产品审核列表 */
  APPLYPRODUCTLIST_API = '/product/applyProductList',
  /** 产品撤销申请 */
  WITHDRAWAPPLYPRODUCT_API = '/product/withdrawApplyProduct',
  /** 产品审核 */
  AUDITPRODUCT_API = '/product/auditProduct',
  /** 通过入库编号搜索 */
  SEARCHPRODUCTFORID_API = '/product/searchProductForId',
  /** 通过出库申请编号搜索 */
  SEARCHPRODUCTFORAPPLYID_API = '/product/searchProductForApplyId',
  /** 通过出库编号搜索 */
  SEARCHPRODUCTFOROUTID_API = '/product/searchProductForOutId'
}
/** 创建产品 */
export const createProductAPI = (data: productInfo) => {
  return post<void>(API.CREATEPRODUCT_API, data)
}

/** 删除产品 */
export const deleteProductAPI = (id: number) => {
  return post<void>(API.DELETEPROCDUCT_API, { id })
}

/** 编辑产品 */
export const editProductAPI = (data: productInfo) => {
  return post<void>(API.EDITPRODUCT_API, data)
}

/** 获取产品列表 */
export const getProductListAPI = (page: number) => {
  return get<ProductAllInfo[]>(API.GETPRODUCTLIST_API, { params: { page } })
}

/** 产品申请出库 */
export const applyOutProductAPI = (data: outApplyForm) => {
  return post<void>(API.APPLYOUTPRODUCT_API, data)
}

/** 产品审核列表 */
export const applyProductListAPI = (page: number) => {
  return get<ProductAllInfo[]>(API.APPLYPRODUCTLIST_API, { params: { page } })
}

/** 产品撤销申请 */
export const withdrawApplyProductAPI = (id: number) => {
  return post<void>(API.WITHDRAWAPPLYPRODUCT_API, { id })
}

/** 产品审核 */
export const auditProductAPI = (data: productInfo) => {
  return post<void>(API.AUDITPRODUCT_API, data)
}

/** 获取产品出库列表 */
export const getAuditProductListAPI = (page: number) => {
  return get<AuditList[]>(API.GETAUDITPRODUCTLIST_API, { params: { page } })
}

/** 通过入库编号搜索 */
export const searchProductForIdAPI = (product_id: number) => {
  return get<ProductAllInfo[]>(API.SEARCHPRODUCTFORID_API, { params: { product_id } })
}

/** 通过出库申请编号搜索 */
export const searchProductForApplyIdAPI = (product_out_id: number) => {
  return get<any>(API.SEARCHPRODUCTFORAPPLYID_API, { params: { product_out_id } })
}

/** 通过出库编号搜索 */
export const searchProductForOutIdAPI = (product_out_id: number) => {
  return get<any>(API.SEARCHPRODUCTFOROUTID_API, { params: { product_out_id } })
}
